﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using blackhouse.BlackApart.Business.Apartments;
using blackhouse.BlackApart.Business.Opinions;

namespace blackhouse.Aparts.Web.View {
    public interface IOpinionDetailsView {

        int OpinionId { get; }

        double AverageRating { get; set; }

        double SimilarAverageRating { get; set; }

        bool PublishButtonVisible { get; set; }

        List<IOpinion> SimilarOpinions { get; set; }

        IDictionary<string, double> CategoryValues { get; set; }

        bool HaveOpinionAdminPriv { get; }

        void ShowNoOpinionInfo();

        void DisplayOpinion(DisplayOpinion displayOpinion);

        void HideSimilarOpinions();

        void DisplayAssociatedApartment(IApartmentGroup group);

        void EnableEditMode();

        void ShowPublishedInfo();

        void ShowSavedInfo(bool status);

        int GetUserId();

    }
}
